(function($) {//format form query string to object
    $.fn.serializeFormJSON = function() {

        var o = {};
        var a = this.serializeArray();
        $.each(a, function() {
            if (o[this.name]) {
                if (!o[this.name].push) {
                    o[this.name] = [o[this.name]];
                }
                o[this.name].push(this.value || '');
            } else {
                o[this.name] = this.value || '';
            }
        });
        return o;
    };
})(jQuery);

// 表单提交前
function beforeSubmit(formData){
    showTips('操作中...', -1);
    $('.form-submit').button('loading');
    
    try 
    {  
        if(typeof(eval(_beforeSubmit))=="function")  
        {

            _beforeSubmit();
        }
    }catch(e)
    {
    //alert("not function"); 
    }  
    return true;
}
// 表单提交后
function afterComplete(responseText){
    showTips(responseText.info, responseText.status);
    $('.form-submit').button('reset');
    if(responseText.status == 1) {
        try 
        {  
            if(typeof(eval(_afterComplete))=="function")  
            {
                _afterComplete(responseText);
            }
        }catch(e)
        {
        //alert("not function"); 
        }  
    }
    
    if(responseText.status == 0) {
        try 
        {  
            if(typeof(eval(_afterError))=="function")  
            {
                _afterError(responseText);
            }
        }catch(e)
        {
        //alert("not function"); 
        }  
    }
    
    if(responseText.status ==-1) {
        try 
        {  
            if(typeof(eval(_afterInfo))=="function")  
            {
                _afterInfo(responseText);
            }
        }catch(e)
        {
        //alert("not function"); 
        }  
    }
}

    
function jump(url){
    if(url == 'self') {
        window.location.reload(); 
    } else if(url == 'parent') {
        window.parent.location.reload();
    } else if(url == 'back') {
        history.back();
    } else {
        var delay = arguments[1] ? arguments[1] : 0; 
        window.setTimeout(function(){
            location.href=url
        },delay);
    }
}
// 显示 ajax 返回的信息
function showTips(tips,type){
    if(tips == 'undefined' || tips == undefined || tips == '' ) {
        tips = '操作中...';
    }
    var cls ='';
    switch(type) {
        case 1 :
            cls = 'success';
            break;
        case 0 :
            cls = 'error';
            break;
        case -1 :
            cls = 'info';
            break;
    }
    var html  = '<div class="alert alert-'+cls+'">';
    html += '<button data-dismiss="alert" class="close" type="button">×</button>';
    html += '<strong>提示信息：</strong>'+tips+'</div>';
    $('#notice').show().html(html);
    setTimeout(function(){
        $('#notice').empty();
    },30000);
}

/**
 * id 数据库字段
 * path 配置文件里面的上传配置路径
 * 文件上传处理的Action
 *
 */
function uploadBase(id,path,url){
    $('#'+id+'_upload').uploadify({
        'formData'     : {
            'ajax' : '1'
        },
        height:30,
        width  : 136,
        buttonText : '选择文件',
        fileTypeDesc : 'Image Files And Zip',
        fileTypeExts : '*.gif; *.jpg; *.png; *.jpeg; *.zip', 
        swf      : TP_JS+'/upload/uploadify.swf',
        uploader : TP_APP+'/Upload/'+url,

        onUploadSuccess : function(file, data, response) {
            var data = eval('('+data+')');
            //alert(data.info);
            if(data.data) {
                $('#'+file.id).addClass('uploadify-success');
                var imgUrl = SITE_URL+'/'+path+data.info;
                var img = '<img class="tip" src="'+imgUrl+'" />';
                $('.'+id+'_show').html(img);
                $('#'+id).val(imgUrl);
            }else{
                $('#'+file.id).addClass('uploadify-error');
                    
            }
        } 
    });
}

function getPillar(intvel,begin,end){
    $('.toolbar-bg').show();
    var tableId = 'sharetable';
    $('#'+tableId+' tbody').html('');
    //        var intvel,begin,end;
    //        intvel = $('.toolbar .hover').attr('title');
    //        begin = $('#begin').val();
    //        end = $('#end').val();
    $.post(TP_ADMIN+'/Report/getSnsplatDay',{
        intvel: intvel,
        begin : begin, 
        end : end
    },function(json){
        var data = json.items;
        snsplatNames=[];
        shareNums = [];
        backflowNums = [];
        $.each(data, function (k, item) { 
            snsplatNames.push(item.snsplatName); 
            shareNums.push(parseFloat(item.share_nums)); 
            backflowNums.push(parseFloat(item.backflow_nums)); 
        });
        pillarOptions.chart.renderTo = 'pillarBox';
        pillarOptions.series[0].data=shareNums;
        pillarOptions.series[0].name='分享次数';
        pillarOptions.series[1].data=backflowNums;
        pillarOptions.series[1].name='回流';
        pillarOptions.xAxis.categories = snsplatNames;
        //console.log(pillarOptions);
        var pillar = new Highcharts.Chart(pillarOptions);
        //setSnsplatTable(tableId,data);
        $('.total_sharetimes').html(json.totalShareNums);
        $('.total_refluxtimes').html(json.totalBackflowNums);
        $('.promote').html((json.totalBackflowNums/json.totalShareNums*100).toFixed(2)+'%');
        $('.toolbar-bg').hide();
    }, 'json');
}

function showStatus(status){
    if(status == 1) {
        return '<span class="badge badge-success ">开启</span>';
    } else {
        return '<span class="badge badge-important">关闭</span>';
    }
}
    
//格式化日期
Date.prototype.format = function(format) {
    var returnStr = '';
    var replace = Date.replaceChars;
    for (var i = 0; i < format.length; i++) {
        var curChar = format.charAt(i);
        if (replace[curChar]) {
            returnStr += replace[curChar].call(this);
        } else {
            returnStr += curChar;
        }
    }
    return returnStr;
};
Date.replaceChars = {
    shortMonths: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
    longMonths: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
    shortDays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
    longDays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
 
    // Day
    d: function() {
        return (this.getDate() < 10 ? '0' : '') + this.getDate();
    },
    D: function() {
        return Date.replaceChars.shortDays[this.getDay()];
    },
    j: function() {
        return this.getDate();
    },
    l: function() {
        return Date.replaceChars.longDays[this.getDay()];
    },
    N: function() {
        return this.getDay() + 1;
    },
    S: function() {
        return (this.getDate() % 10 == 1 && this.getDate() != 11 ? 'st' : (this.getDate() % 10 == 2 && this.getDate() != 12 ? 'nd' : (this.getDate() % 10 == 3 && this.getDate() != 13 ? 'rd' : 'th')));
    },
    w: function() {
        return this.getDay();
    },
    z: function() {
        return "Not Yet Supported";
    },
    // Week
    W: function() {
        return "Not Yet Supported";
    },
    // Month
    F: function() {
        return Date.replaceChars.longMonths[this.getMonth()];
    },
    m: function() {
        return (this.getMonth() < 9 ? '0' : '') + (this.getMonth() + 1);
    },
    M: function() {
        return Date.replaceChars.shortMonths[this.getMonth()];
    },
    n: function() {
        return this.getMonth() + 1;
    },
    t: function() {
        return "Not Yet Supported";
    },
    // Year
    L: function() {
        return (((this.getFullYear()%4==0)&&(this.getFullYear()%100 != 0)) || (this.getFullYear()%400==0)) ? '1' : '0';
    },
    o: function() {
        return "Not Supported";
    },
    Y: function() {
        return this.getFullYear();
    },
    y: function() {
        return ('' + this.getFullYear()).substr(2);
    },
    // Time
    a: function() {
        return this.getHours() < 12 ? 'am' : 'pm';
    },
    A: function() {
        return this.getHours() < 12 ? 'AM' : 'PM';
    },
    B: function() {
        return "Not Yet Supported";
    },
    g: function() {
        return this.getHours() % 12 || 12;
    },
    G: function() {
        return this.getHours();
    },
    h: function() {
        return ((this.getHours() % 12 || 12) < 10 ? '0' : '') + (this.getHours() % 12 || 12);
    },
    H: function() {
        return (this.getHours() < 10 ? '0' : '') + this.getHours();
    },
    i: function() {
        return (this.getMinutes() < 10 ? '0' : '') + this.getMinutes();
    },
    s: function() {
        return (this.getSeconds() < 10 ? '0' : '') + this.getSeconds();
    },
    // Timezone
    e: function() {
        return "Not Yet Supported";
    },
    I: function() {
        return "Not Supported";
    },
    O: function() {
        return (-this.getTimezoneOffset() < 0 ? '-' : '+') + (Math.abs(this.getTimezoneOffset() / 60) < 10 ? '0' : '') + (Math.abs(this.getTimezoneOffset() / 60)) + '00';
    },
    P: function() {
        return (-this.getTimezoneOffset() < 0 ? '-' : '+') + (Math.abs(this.getTimezoneOffset() / 60) < 10 ? '0' : '') + (Math.abs(this.getTimezoneOffset() / 60)) + ':' + (Math.abs(this.getTimezoneOffset() % 60) < 10 ? '0' : '') + (Math.abs(this.getTimezoneOffset() % 60));
    },
    T: function() {
        var m = this.getMonth();
        this.setMonth(0);
        var result = this.toTimeString().replace(/^.+ \(?([^\)]+)\)?$/, '$1');
        this.setMonth(m);
        return result;
    },
    Z: function() {
        return -this.getTimezoneOffset() * 60;
    },
    // Full Date/Time
    c: function() {
        return this.format("Y-m-d") + "T" + this.format("H:i:sP");
    },
    r: function() {
        return this.toString();
    },
    U: function() {
        return this.getTime() / 1000;
    }
};
function getFormatTime(timestamp) {  
    if(timestamp == '' || timestamp == null) {
        return '空';
    }
    timestamp = timestamp.toString();
    if(timestamp.length != 13) {
        timestamp = parseInt(timestamp)*1000;
    }
    var date = (new Date(parseInt(timestamp)));
    return date.format('Y-m-d H:i:s');
}  

function getGender(gender){
    if(gender==1){
        return '女';
    }else if(gender==2){
        return '未知';
    }else{
        return '男';
    }
}
function getSecretType(sercttype){
    if(sercttype==1){
        return '个人认证';
    }else if(sercttype==2){
        return '企业认证';
    }else{
        return '未认证';
    }
}

function showEmpty(value){
    if((value == '' || value == null) && ( value !== 0)){
        return '<i style="color:#AAA">暂无数据</i>';
    }
    return value;
}
function showDeveloper(showDeveloper){
    return '<a href="'+TP_ADMIN+'/Developer/view/id/'+showDeveloper+'">查看</a>';
    
}
function showWeiBoUrl(value,userid,snsfrom){
    if((value == '' || value == null)){
        if(snsfrom=='SINA'){
            return 'http://weibo.com/'+userid;
        }else if (snsfrom=='开心网') {
            return "http://www.kaixin001.com/home/?uid="+userid;
        }else{
            return 'javascript:void(0);';
        }
    }
    return value;
}
function showCountry(value){
    if((value == '' || value == null) && ( value !== 0)){
        return '<i style="color:#ccc">暂无数据</i>';
    }
    if(value=='-1'){
        return '中国(本地测试IP)';
    }
    return value;
}
function showIcon(value){
    if((value == '' || value == null) && ( value !== 0)){
        return '<i style="color:#ccc">暂无数据</i>';
    }
    return '<img class="thumbnail" src="'+value+'" style="width: 60px;"  />';
}
function getUrlArgs(_name){
    var url = window.location.pathname;
    if(new RegExp(".*\\/"+_name+"\/([^\/]+).*","gi").test(url)){
    //if(new RegExp(".*\\/"+_name+"\/(.*)[^\/]+.*","gi").test(url)){
        return decodeURI(RegExp.$1);
    }else{
        return "";
    }
}
function showModel(model){
    switch(model) {
        case 'iPhone1,2':
            return 'iPhone 3G';
        case 'iPhone2,1':
            return 'iPhone 3GS';
        case 'iPhone3,1':
            return 'iPhone 4';
        case 'iPhone3,3':
            return 'iPhone 4';
        case 'iPhone4,1':
            return 'iPhone 4S';
        case 'iPhone5,1':
            return 'iPhone 5';
        case 'iPhone5,2':
            return 'iPhone 5';
        case 'i386':
            return '模拟器';
        case 'x86_64':
            return '未知设备';
        case 'iPod4,1':
            return 'iPod Touch 4';
        case 'iPod3,1':
            return 'iPod Touch 3';
        case 'iPod5,1':
            return 'iPod Touch 5';
        case 'iPad1,1':
            return 'iPad 1';
        case 'iPad2,1':
            return 'iPad 2';
        case 'iPad3,1':
            return 'iPad 3';
        case 'iPad4,1':
            return 'iPad 4';
        default:
            return  model;
    }
}

function getPlatName(sns_plat){
    switch(sns_plat) {
        case '1':
            return '新浪微博';
        case '2':
            return '腾讯微博';
        case '3':
            return '搜狐微博';
        case '4':
            return '网易微博';
        case '5':
            return '豆瓣社区';
        case '6':
            return 'QQ空间';
        case '7':
            return '人人网';
        case '8':
            return '开心网';
        case '9':
            return '朋友网';
        case '10':
            return 'Facebook';
        case '11':
            return 'Twitter';
        case '12':
            return '印象笔记';
        case '13':
            return 'Foursquare';
        case '14':
            return 'Google＋';
        case '15':
            return 'Instagram';
        case '16':
            return 'LinkedIn';
        case '17':
            return 'Tumbir';
        case '18':
            return '邮件分享';
        case '19':
            return '短信分享';
        case '20':
            return '打印';
        case '21':
            return '拷贝';
        case '22':
            return '微信好友';
        case '23':
            return '微信朋友圈';
        case '24':
            return 'QQ';
        case '25':
            return 'Instapaper';
        case '26':
            return 'ShareTypePocket';
        case '27':
            return '有道';
            
        default :
            return sns_plat
    }
    
}

